<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>隐形参数</title>
    <script type="text/javascript">
        /*
            隐形参数：就是在function函数中不需要定义，但却可以直接用来获取所有参数的变量
            就像java中可变长参数一样 public void fun(Object... args){}
            可变长参数其实就是一个数组
        */
        function fun1() {
            alert(arguments.length);//可以查看参数个数
            alert("无参函数");
            //查看参数
            alert(arguments[0]);//a
            alert(arguments[1]);//12
            alert(arguments[2]);//undefined
            //遍历参数
            for (let i = 0; i < arguments.length; i++) {
                alert(arguments[i])
            }
        }
        fun1("a", 12);

        // 需求：要求 编写 一个函数。用于计算所有参数相加的和并返回
        function sum(num1,num2) {
            var result = 0;
            for (var i = 0; i < arguments.length; i++) {
                if (typeof(arguments[i]) == "number") {
                    result += arguments[i];
                }
            }
            return result;
        }
        alert( sum(1,2,3,4,"abc",5,6,7,8,9) );
    </script>
</head>
<body>

</body>
</html>